﻿Imports System
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices

Namespace Google.Desktop.Interop
    <ComImport, Guid("9575DED8-9BA4-4A3B-83AA-59B2CAD0CDEF"), TypeLibType(CShort(&H10C0))> _
    Public Interface IGoogleDesktopEventSubscription
        Inherits IGoogleDesktopFilterCollection
        <DispId(&H3F5)> _
        Property filter_operator() As GoogleDesktopSubscriptionFilterOperator

        <DispId(&H3F6)> _
        Property negate_result() As Boolean
        

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3F7)> _
        Function AddFilter(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal progid As String, <[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal name As Object = Nothing) As <MarshalAs(UnmanagedType.IDispatch)> Object

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3F8)> _
        Sub RemoveFilter(<[In](), MarshalAs(UnmanagedType.IDispatch)> ByVal filter As Object)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3F9)> _
        Function FindFilter(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal filter_name As String) As <MarshalAs(UnmanagedType.IDispatch)> Object

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3FA)> _
        Sub RemoveAllFilters()

        <DispId(&H3F4)> _
        Property active() As Boolean

        
    End Interface
End Namespace

